/**
 * <p>
 * 饼型图
 * </p>
 * xtype = cceafchart
 * 
 * @module Ext-ux-cceaf-control
 * @class cceaf.control.PieChart
 * @extends Ext.chart.Chart
 * @since 1.0 author hutao
 */
Ext.define('cceaf.control.PieChart', {
			extend : 'Ext.chart.Chart',
			alias : 'widget.cceafpiechart',
			/**
			 * 构造函数
			 * 
			 * @method constructor
			 * @param {attribute}
			 *            config 配置项
			 */
			constructor : function(config) {
				config = config || {};
				cceaf.control.PieChart.superclass.constructor.apply(
						this, arguments);
			},
			/**
			 * store的model名称
			 * 
			 * @property model
			 * @type String
			 * @default 'ChartModel'
			 */
			width : 480,
			height : 480,
			animate : true,
			store : null,
			shadow : true,
			legend : {
				position : 'right'
			},
			insetPadding : 60,
			theme : 'Base:gradients',
			initComponent : function() {
				var config = this;
				var action = config.action;
				if (action == '') {
					cceaf.util.ExtHelper.showInfoDialog('请设置action');
					return;
				}
				// 定义数据源
				var ds;
				if (config.store) {
					ds = config.store;
				} else {
					ds = new Ext.data.JsonStore({
								fields : ['name', 'data'],
								proxy : {
									type : 'ajax',
									url : config.action,
									reader : {
										type : 'json',
										root : 'data',
										totalProperty : 'totalCount',
										messageProperty : 'message'
									}
								},
								autoLoad : true,
								autoDestroy : true
							});
				}
				Ext.apply(this, {
							store : ds,
							animate : true,
							shadow : true,
							series : [{
								type : 'pie',
								field : 'data',
								showInLegend : true,
								highlight : {
									segment : {
										margin : 20
									}
								},
								tips : {
									trackMouse : true,
									width : 80,
									height : 30,
									renderer : function(storeItem, item) {
										this.setTitle(storeItem.get('name')
												+ ': ' + storeItem.get('data'));
									}
								},
								label : {
									field : 'name',
									display : 'rotate',
									contrast : true,
									font : '18px Arial'
								}
							}]

						});

				cceaf.control.PieChart.superclass.initComponent
						.call(this);
			},

			initEvents : function() {
				cceaf.control.PieChart.superclass.initEvents.call(this);
			}

		});